#import <Foundation/Foundation.h>
#import <objc/runtime.h>

#import "framework/FWCommon.h"

#import "PICommon.h"


NSString* const kPIStatusPasteboard = @"com.rja.lockinfo";
NSString* const kPIPasteboardDBPath = @"dbpath";
NSString* const kPIPasteboardAppPath = @"apppath";
NSString* const kPIPasteboardPIVersion = @"piversion";

NSString* const kPIApplicationContextList1 = @"contexts1";
NSString* const kPIApplicationContextCurrent = @"contexts";

NSString* const kPIOptionsDebugCode = @"debugCode";
NSString* const kPIOptionsShortDates = @"shortDates";
NSString* const kPIOptionsShowDates = @"showDetail";
NSString* const kPIOptionsShowSourceIcons = @"sourceIcons";
NSString* const kPIOptionsShowIcons = @"isShowIcons";
NSString* const kPIOptionsShowStatusbarIcons = @"isStatusbarIcon";
NSString* const kPIOptionsHighlightOverdue = @"isHighlightOverdue";
NSString* const kPIOptionsShowFiling = @"showFiling";
NSString* const kPIOptionsHideDeferred = @"isHideDeferred";
NSString* const kPIOptionsDayLimit = @"dayLimit-2";
NSString* const kPIOptionsHideFuture = @"isHideFuture";
//NSString* const kPIOptionsLockscreenOnly = @"isLockscreenOnly";
NSString* const kPIOptionsTagsFilters = @"tagsFilters";
NSString* const kPIOptionsNoTagsFilter = @"isShowNoTags";
NSString* const kPIOptionsHideUndated = @"isHideUndated";
NSString* const kPIOptionsShowOnlyAction = @"showOnlyAction";
NSString* const kPIOptionsStarredOnly = @"isStarredOnly";
NSString* const kPIOptionsSortField1 = @"sortField1";
NSString* const kPIOptionsSortField1Asc = @"isSortAsc1";
NSString* const kPIOptionsSortField1Order = @"sortNoneOrder1";
NSString* const kPIOptionsSortField2 = @"sortField2";
NSString* const kPIOptionsSortField2Asc = @"isSortAsc2";
NSString* const kPIOptionsSortField2Order = @"sortNoneOrder2";
NSString* const kPIOptionsMaxEvents = @"maxEvents-2";
NSString* const kPIOptionsMaxTasks = @"maxTasks";
NSString* const kPIOptionsMaxDays = @"maxDays-2";
NSString* const kPIOptionsVibrateOnAlert = @"isVibrateOnAlert";
NSString* const kPIOptionsWakeOnAlert = @"isWakeOnAlert";
NSString* const kPIOptionsiPadSingleLine = @"isiPadSingleLine";
NSString* const kPIOptionsShowToolbar = @"isShowToolbar";
NSString* const kPIOptionsShowBadge = @"isShowBadge";
NSString* const kPIOptionsHideNoContext = @"hideNoContext";
NSString* const kPIOptionsHideOutOfContext = @"hideOutOfContext";
NSString* const kPIOptionsShowLocationPage = @"isShowLocations";
NSString* const kPIOptionsShowPreviews = @"isShowPreviews";
NSString* const kPIOptionsShowPopups = @"isShowPopups";
NSString* const kPIOptionsShowEmoji = @"isShowEmoji";
NSString* const kPIOptionsShowContextAtStart = @"isContextAtStart";
NSString* const kPIOptionsShowContexts = @"showContextState";
NSString* const kPIOptionsShowAllTasks = @"showAllTasks";
NSString* const kPIOptionsShowParent = @"showParent";
NSString* const kPIOptionsShowParentIcons = @"isShowParentIcon";
NSString* const kPIOptionsAddTaskFeature = @"allowAddTask";
NSString* const kPIOptionsDefaultImportance = @"defaultImportance";
NSString* const kPIOptionsLowColourDisplay = @"isLowColour";
NSString* const kPIOptionsLockDetails = @"isLockDetails";
NSString* const kPIOptionsLockPreview = @"isLockPreview";

NSString* const kPIOptionsRepeatAlertInterval = @"alertInterval";
NSString* const kPIOptionsRepeatAlertDuration = @"alertDuration";
NSString* const kPIOptionsRepeatAlertSound = @"alertSound";
NSString* const kPIOptionsIsAlertDuringEvent = @"isAlertDuring";
NSString* const kPIOptionsSnoozeAlertDuration = @"snoozeDuration";
NSString* const kPIOptionsWeekendStart = @"weekendStart";
NSString* const kPIOptionsSkipWeekend = @"isSkipWeekend";
NSString* const kPIOptionsShowWorkingHours = @"isShowWorkingHours";
NSString* const kPIOptionsDayStart = @"dayStart";
NSString* const kPIOptionsDayEnd = @"dayEnd";
NSString* const kPIOptionsHiddenNativeCalendars = @"hideNativeCals";
NSString* const kPIOptionsHiddenPIEventendars = @"hidePIEvents";


NSInteger const kPIOptionsDebugCodeDefault = 0;
NSInteger const kPIOptionsShortDatesDefault = ShortDatesIfNeeded;
NSInteger const kPIOptionsShowDatesDefault = ShowDatesIfNeeded;
NSInteger const kPIOptionsShowSourceIconsDefault = ShowSourceIconOptionsIOSOnly;
BOOL const kPIOptionsShowIconsDefault = YES;
BOOL const kPIOptionsShowStatusbarIconsDefault = YES;
BOOL const kPIOptionsHighlightOverdueDefault = YES;
NSInteger const kPIOptionsShowFilingDefault = TaskFilingAnyTasks;
BOOL const kPIOptionsHideDeferredDefault = NO;
NSInteger const kPIOptionsDayLimitDefault = 4;
BOOL const kPIOptionsHideFutureDefault = YES;
//BOOL const kPIOptionsLockscreenOnlyDefault = NO;
BOOL const kPIOptionsNoTagsFilterDefault = NO;
BOOL const kPIOptionsHideUndatedDefault = NO;
NSInteger const kPIOptionsShowOnlyActionDefault = -1;
BOOL const kPIOptionsStarredOnlyDefault = NO;
NSInteger const kPIOptionsSortField1Default = SortFieldOptionsImportance;
BOOL const kPIOptionsSortField1AscDefault = YES;
NSInteger const kPIOptionsSortField1OrderDefault = SortFieldNoneOrderFirst;
NSInteger const kPIOptionsSortField2Default = SortFieldOptionsDueDate;
BOOL const kPIOptionsSortField2AscDefault = YES;
NSInteger const kPIOptionsSortField2OrderDefault = SortFieldNoneOrderFirst;
NSInteger const kPIOptionsMaxTasksDefault = 5;
NSInteger const kPIOptionsMaxEventsDefault = 999;
BOOL const kPIOptionsVibrateOnAlertDefault = YES;
BOOL const kPIOptionsWakeOnAlertDefault = NO;
NSInteger const kPIOptionsMaxDaysDefault = -1;
BOOL const kPIOptionsiPadSingleLineDefault = YES;
BOOL const kPIOptionsShowBadgeDefault = YES;
BOOL const kPIOptionsShowToolbarDefault = YES;
NSInteger const kPIOptionsHideNoContextDefault = FilterContextOptionsDontHide;
NSInteger const kPIOptionsHideOutOfContextDefault = FilterContextOptionsHideAlways;
BOOL const kPIOptionsShowLocationPageDefault = YES;
BOOL const kPIOptionsShowPreviewsDefault = YES;
BOOL const kPIOptionsShowEmojiDefault = YES;
BOOL const kPIOptionsShowPopupsDefault = YES;
BOOL const kPIOptionsShowContextAtStartDefault = YES;
BOOL const kPIOptionsShowContextsDefault = ShowContextsNever;
BOOL const kPIOptionsShowAllTasksDefault = NO;
NSInteger const kPIOptionsShowParentDefault = ShowParentAlways;
BOOL const kPIOptionsShowParentIconsDefault = YES;
BOOL const kPIOptionsAddTaskFeatureDefault = YES;
NSInteger const kPIOptionsDefaultImportanceDefault = 3;
BOOL const kPIOptionsLowColourDisplayDefault = NO;
BOOL const kPIOptionsLockDetailsDefault = YES;
BOOL const kPIOptionsLockPreviewDefault = YES;

NSString* const kPIOptionsRepeatAlertSoundDefault = @"0:0";
NSInteger const kPIOptionsRepeatAlertIntervalDefault = 60;
NSInteger const kPIOptionsRepeatAlertDurationDefault = 600;
NSInteger const kPIOptionsSnoozeAlertDurationDefault = 300;
BOOL const kPIOptionsIsAlertDuringEventDefault = YES;
NSInteger const kPIOptionsWeekendStartDefault = FWWeekdayNameSaturday;
BOOL const kPIOptionsSkipWeekendDefault = NO;
BOOL const kPIOptionsShowWorkingHoursDefault = YES;
NSInteger const kPIOptionsDayStartDefault = 32400;
NSInteger const kPIOptionsDayEndDefault = 64800;
